/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Control;

import DAO.ClienteDAO;
import Entidad.Cliente;
import Entidad.Compra;
import Entidad.Tarea;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author felipe and andres r.
 * pair programming
 */
public class CrudCliente {
    
    private static ClienteDAO dao = new ClienteDAO();

    
    //dos metodos de creacion, se diferencian en la cantidad de parametros que reciben
    
    public static boolean crearCliente (String nombre, double id, String direccion, int tel){
    Cliente nueva = new Cliente(nombre,id,direccion,tel);
            dao.crear(nueva);
            return true;}
    
    public static boolean crearCliente (String nombre, double id, String direccion, int tel, String email){
    Cliente nueva = new Cliente(nombre,id,direccion,tel,email);
            dao.crear(nueva);
            return true;}

    public static boolean crearCliente (String nombre, double id, String email, int tel, ArrayList<Tarea> tareas, ArrayList<Compra> compras, String direccion){
    Cliente nueva = new Cliente(nombre,id,email,tel,tareas,compras,direccion);
            dao.crear(nueva);
            return true;}

    //lectura de cliente, se pasa como parámetro su numero de ID
    public static Cliente consultarCliente(double ID){
            return dao.leer(ID);
        }

    //update
    public static boolean modificarCliente(Cliente cliente,String nombre,double ID, String email, int telefono, String direccion){
        
        Cliente nueva = cliente;
	nueva.setNombre(nombre);
	nueva.setID(ID);
	nueva.setEmail(email);
        nueva.setTelefono(telefono);
        nueva.setDireccion(direccion);
        dao.actualizar(cliente,nueva);
        return true;
        }
    
    //delete 
    public static boolean eliminarCiente(Cliente cliente){
            return dao.eliminar(cliente);
            
        
        }
        
        //Devuelve una lista con todas las tareas
     public static List<Cliente> bringAll(){
        return dao.bringAll();
     }

}
